﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using AdminCondominio.Persistencia;
using AdminCondominio.Dominio;

namespace AdminCondominio.Negocio
{
    public class UsuarioService
    {
        public UsuarioDAO UsuarioDAO{get; set;}

        public Usuario CrearUsuario(Usuario usuarioCrear) 
        {
            Usuario usuario = UsuarioDAO.obtener(usuarioCrear.NoCorreo);
            if (usuario != null)
                throw new Exception("Usuario Existe");
            Usuario usuarioACrear = new Usuario();
            usuarioACrear.NoUsuario = usuarioCrear.NoUsuario;
            usuarioACrear.NoTipoUsuario = usuarioCrear.NoTipoUsuario;
            usuarioACrear.NoCorreo = usuarioCrear.NoCorreo;
            usuarioACrear.TxClave = usuarioCrear.TxClave;
            return UsuarioDAO.crear(usuarioACrear);
        }
        public Usuario ModificarUsuario( Usuario usuarioAModificar) 
        {

            Usuario usuario = UsuarioDAO.obtener(usuarioAModificar.NoCorreo);
            if (usuario == null)
                throw new Exception("Usuario no existe");
            Usuario usuarioModificar = new Usuario();
            usuarioModificar.NoUsuario = usuarioAModificar.NoUsuario;
            usuarioModificar.NoCorreo = usuarioAModificar.NoCorreo;
            usuarioModificar.TxClave = usuarioAModificar.TxClave;
            return UsuarioDAO.modificar(usuarioModificar);
        }

        public  Usuario ObtenerUsuario(string NoCorreo)
        {
            return UsuarioDAO.obtener(NoCorreo);
        }
        public Usuario ObtenerUsuarioXCodigo(int CoUsuario)
        {
            return UsuarioDAO.obtenerXCodigo(CoUsuario);
        }
        public ICollection<Usuario> ListarUsuarios(String NoUsuario)
        {


            return UsuarioDAO.ListarUsuario(NoUsuario);
        }
        public Usuario LoginUsuario(Usuario usuarioLogin) 
        {
            Usuario usuario = UsuarioDAO.obtener(usuarioLogin.NoCorreo);
            if (usuario == null)
                throw new Exception("Correo no existe");
            Usuario usuarioLogeado = UsuarioDAO.login(usuarioLogin);
            if (usuarioLogeado == null)
                throw new Exception("Clave incorrecta");
            
            return UsuarioDAO.login(usuarioLogin);
        }
    }
}